﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL.Entity;

namespace DAL.Persistencia
{
    public class GrupoQtdAdultNomeDAL
    {

        private NewTierraEntities Con;

        public GrupoQtdAdultNomeDAL()
        {
            Con = new NewTierraEntities();
        }

        public void Salvar(Quotation_Grupo_Qtd_Adult_Nome q)
        {
            try
            {
                Con.AddToQuotation_Grupo_Qtd_Adult_Nome(q);
                Con.SaveChanges();
            }
            catch
            {                
                throw;
            }
        }

        public Quotation_Grupo_Qtd_Adult_Nome ObterPorId(int IdAdultNome)
        {
            try
            {
                return Con.Quotation_Grupo_Qtd_Adult_Nome.Where(q => q.Qtd_Adult_Nome_id == IdAdultNome).SingleOrDefault();
            }
            catch 
            {                
                throw;
            }
        }        

        public void Excluir(Quotation_Grupo_Qtd_Adult_Nome q)
        {
            try
            {
                Con.DeleteObject(q);
                Con.SaveChanges();
            }
            catch 
            {                
                throw;
            }
        }

        public void Atualizar(Quotation_Grupo_Qtd_Adult_Nome novo)
        {
            try
            {
                Quotation_Grupo_Qtd_Adult_Nome antigo = ObterPorId(novo.Qtd_Adult_Nome_id);

                antigo.Nome = novo.Nome;

                Con.SaveChanges();

            }
            catch 
            {                
                throw;
            }
        }

        public List<Quotation_Grupo_Qtd_Adult_Nome> VerificaExiste(int IdQuotGrupo)
        {
            try
            {

                return (from qga in Con.Quotation_Grupo_Qtd_Adult_Nome
                        join qgq in Con.Quotation_Grupo_Qtd_Adult on qga.Qtd_Adult_id equals qgq.Qtd_Adult_id
                        where qgq.Quotation_Grupo_Id == IdQuotGrupo
                        select qga).ToList();
            }
            catch 
            {                
                throw;
            }
        }

        public List<Quotation_Grupo_Qtd_Adult_Nome> ListarPorAdultos(int IdQtdAdult)
        {
            try
            {
                return Con.Quotation_Grupo_Qtd_Adult_Nome.Where(q => q.Qtd_Adult_id == IdQtdAdult).ToList();
            }
            catch 
            {                
                throw;
            }
        }

    }
}
